//## begin module%3B8DA7EB02FC.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3B8DA7EB02FC.cm

//## begin module%3B8DA7EB02FC.cp preserve=no
//	+----------------------------------------------+
//	| SVMBR - A program for training SVMs          |
//	+----------------------------------------------+
//	| * Creator, modeling, coding:                 |
//	|    Marcelo Barros de Almeida                 |
//	|    barros@smar.com.br                        |
//	|    http://litc.cpdee.ufmg.br/~barros/        |
//	| * Coding, improvements, bug fixes:           |
//	|    Bernardo Penna                            |
//	|    bprc@brfree.com.br                        |
//	+----------------------------------------------+
//
//	 Copyright(c) 2002 by Marcelo Barros de Almeida
//	                            All rights reserved
//
//	-[CVS]------------------------------------------
//	$Author$
//	$Date$
//	$Source$
//	$Name$
//	$Revision$
//	------------------------------------------------
//## end module%3B8DA7EB02FC.cp

//## Module: subset%3B8DA7EB02FC; Package specification
//## Subsystem: <Top Level>
//## Source file: D:\textotese\svmbr\src\subset.h

#ifndef subset_h
#define subset_h 1

//## begin module%3B8DA7EB02FC.additionalIncludes preserve=no
//## end module%3B8DA7EB02FC.additionalIncludes

//## begin module%3B8DA7EB02FC.includes preserve=yes
//## end module%3B8DA7EB02FC.includes

// global
#include "global.h"
//## begin module%3B8DA7EB02FC.declarations preserve=no
//## end module%3B8DA7EB02FC.declarations

//## begin module%3B8DA7EB02FC.additionalDeclarations preserve=yes
//## end module%3B8DA7EB02FC.additionalDeclarations


//## begin SubSet%3B8DA6FC02BC.preface preserve=yes
//## end SubSet%3B8DA6FC02BC.preface

//## Class: SubSet%3B8DA6FC02BC
//## Category: Utility package%3D7B4A100170
//## Subsystem: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n

class SubSet 
{
  //## begin SubSet%3B8DA6FC02BC.initialDeclarations preserve=yes
  //## end SubSet%3B8DA6FC02BC.initialDeclarations

  public:
    //## Constructors (generated)
      SubSet();

    //## Constructors (specified)
      //## Operation: SubSet%999139392
      SubSet (INT sz);

    //## Destructor (generated)
      ~SubSet();


    //## Other Operations (specified)
      //## Operation: add%999139388
      INT add (INT i1);

      //## Operation: remove%999139389
      INT remove (INT i1);

      //## Operation: init%999139390
      VOID init (INT sz);

      //## Operation: getSize%999139391
      INT getSize ();

      //## Operation: dump%1013528662
      VOID dump ();

      //## Operation: getVect%1013528663
      INT getVect (INT i1) const;

      //## Operation: getHash%1013528664
      INT getHash (INT i1) const;

    // Additional Public Declarations
      //## begin SubSet%3B8DA6FC02BC.public preserve=yes
			//INT gethashTable (INT i1);
      //## end SubSet%3B8DA6FC02BC.public
  protected:
    // Additional Protected Declarations
      //## begin SubSet%3B8DA6FC02BC.protected preserve=yes
      //## end SubSet%3B8DA6FC02BC.protected

  private:
    // Additional Private Declarations
      //## begin SubSet%3B8DA6FC02BC.private preserve=yes
      //## end SubSet%3B8DA6FC02BC.private

  private: //## implementation
    // Data Members for Class Attributes

      //## Attribute: maxSize%3B8DA74401CF
      //## begin SubSet::maxSize%3B8DA74401CF.attr preserve=no  private: INT {U} 
      INT maxSize;
      //## end SubSet::maxSize%3B8DA74401CF.attr

      //## Attribute: hashTable%3B8DA74901AE
      //## begin SubSet::hashTable%3B8DA74901AE.attr preserve=no  private: INT * {U} 
      INT *hashTable;
      //## end SubSet::hashTable%3B8DA74901AE.attr

      //## Attribute: set%3B8DA7630166
      //## begin SubSet::set%3B8DA7630166.attr preserve=no  private: INT * {U} 
      INT *set;
      //## end SubSet::set%3B8DA7630166.attr

      //## Attribute: top%3B8DA95F02A6
      //## begin SubSet::top%3B8DA95F02A6.attr preserve=no  private: INT {U} 
      INT top;
      //## end SubSet::top%3B8DA95F02A6.attr

    // Additional Implementation Declarations
      //## begin SubSet%3B8DA6FC02BC.implementation preserve=yes
      //## end SubSet%3B8DA6FC02BC.implementation

};

//## begin SubSet%3B8DA6FC02BC.postscript preserve=yes
//## end SubSet%3B8DA6FC02BC.postscript

// Class SubSet 


//## Other Operations (inline)
inline INT SubSet::getVect (INT i1) const
{
  //## begin SubSet::getVect%1013528663.body preserve=yes
	return set[i1];
  //## end SubSet::getVect%1013528663.body
}

inline INT SubSet::getHash (INT i1) const
{
  //## begin SubSet::getHash%1013528664.body preserve=yes
	return hashTable[i1];
  //## end SubSet::getHash%1013528664.body
}

//## begin module%3B8DA7EB02FC.epilog preserve=yes
//## end module%3B8DA7EB02FC.epilog


#endif
